GpuStats: migrate to new statsd native puller api (part 1) Bug: 148421389 Test: build, flash and boot. Change-Id: I44f0b5befd8f879ba0542cec50212ee274ce1adb
diff --git a/libs/graphicsenv/IGpuService.cpp b/libs/graphicsenv/IGpuService.cpp index 9f5b0ff..de3503b 100644 --- a/libs/graphicsenv/IGpuService.cpp +++ b/libs/graphicsenv/IGpuService.cpp
@@ -48,50 +48,6 @@ remote()->transact(BnGpuService::SET_GPU_STATS, data, &reply, IBinder::FLAG_ONEWAY); } - virtual status_t getGpuStatsGlobalInfo(std::vector<GpuStatsGlobalInfo>* outStats) const { - if (!outStats) return UNEXPECTED_NULL; - - Parcel data, reply; - status_t status; - - if ((status = data.writeInterfaceToken(IGpuService::getInterfaceDescriptor())) != OK) - return status; - - if ((status = remote()->transact(BnGpuService::GET_GPU_STATS_GLOBAL_INFO, data, &reply)) != - OK) - return status; - - int32_t result = 0; - if ((status = reply.readInt32(&result)) != OK) return status; - if (result != OK) return result; - - outStats->clear(); - return reply.readParcelableVector(outStats); - } - - virtual status_t getGpuStatsAppInfo(std::vector<GpuStatsAppInfo>* outStats) const { - if (!outStats) return UNEXPECTED_NULL; - - Parcel data, reply; - status_t status; - - if ((status = data.writeInterfaceToken(IGpuService::getInterfaceDescriptor())) != OK) { - return status; - } - - if ((status = remote()->transact(BnGpuService::GET_GPU_STATS_APP_INFO, data, &reply)) != - OK) { - return status; - } - - int32_t result = 0; - if ((status = reply.readInt32(&result)) != OK) return status; - if (result != OK) return result; - - outStats->clear(); - return reply.readParcelableVector(outStats); - } - virtual void setTargetStats(const std::string& appPackageName, const uint64_t driverVersionCode, const GpuStatsInfo::Stats stats, const uint64_t value) { Parcel data, reply; @@ -150,32 +106,6 @@ return OK; } - case GET_GPU_STATS_GLOBAL_INFO: { - CHECK_INTERFACE(IGpuService, data, reply); - - std::vector<GpuStatsGlobalInfo> stats; - const status_t result = getGpuStatsGlobalInfo(&stats); - - if ((status = reply->writeInt32(result)) != OK) return status; - if (result != OK) return result; - - if ((status = reply->writeParcelableVector(stats)) != OK) return status; - - return OK; - } - case GET_GPU_STATS_APP_INFO: { - CHECK_INTERFACE(IGpuService, data, reply); - - std::vector<GpuStatsAppInfo> stats; - const status_t result = getGpuStatsAppInfo(&stats); - - if ((status = reply->writeInt32(result)) != OK) return status; - if (result != OK) return result; - - if ((status = reply->writeParcelableVector(stats)) != OK) return status; - - return OK; - } case SET_TARGET_STATS: { CHECK_INTERFACE(IGpuService, data, reply); diff --git a/libs/graphicsenv/include/graphicsenv/IGpuService.h b/libs/graphicsenv/include/graphicsenv/IGpuService.h index f523d58..c7c6d1e 100644 --- a/libs/graphicsenv/include/graphicsenv/IGpuService.h +++ b/libs/graphicsenv/include/graphicsenv/IGpuService.h
@@ -16,12 +16,11 @@ #pragma once -#include <vector> - #include <binder/IInterface.h> #include <cutils/compiler.h> #include <graphicsenv/GpuStatsInfo.h> -#include <graphicsenv/GraphicsEnv.h> + +#include <vector> namespace android { @@ -43,20 +42,12 @@ // set target stats. virtual void setTargetStats(const std::string& appPackageName, const uint64_t driverVersionCode, const GpuStatsInfo::Stats stats, const uint64_t value = 0) = 0; - - // get GPU global stats from GpuStats module. - virtual status_t getGpuStatsGlobalInfo(std::vector<GpuStatsGlobalInfo>* outStats) const = 0; - - // get GPU app stats from GpuStats module. - virtual status_t getGpuStatsAppInfo(std::vector<GpuStatsAppInfo>* outStats) const = 0; }; class BnGpuService : public BnInterface<IGpuService> { public: enum IGpuServiceTag { SET_GPU_STATS = IBinder::FIRST_CALL_TRANSACTION, - GET_GPU_STATS_GLOBAL_INFO, - GET_GPU_STATS_APP_INFO, SET_TARGET_STATS, // Always append new enum to the end. }; diff --git a/services/gpuservice/GpuService.cpp b/services/gpuservice/GpuService.cpp index 91a76f1..7bb0e4a 100644 --- a/services/gpuservice/GpuService.cpp +++ b/services/gpuservice/GpuService.cpp
@@ -57,16 +57,6 @@ isDriverLoaded, driverLoadingTime); } -status_t GpuService::getGpuStatsGlobalInfo(std::vector<GpuStatsGlobalInfo>* outStats) const { - mGpuStats->pullGlobalStats(outStats); - return OK; -} - -status_t GpuService::getGpuStatsAppInfo(std::vector<GpuStatsAppInfo>* outStats) const { - mGpuStats->pullAppStats(outStats); - return OK; -} - void GpuService::setTargetStats(const std::string& appPackageName, const uint64_t driverVersionCode, const GpuStatsInfo::Stats stats, const uint64_t value) { mGpuStats->insertTargetStats(appPackageName, driverVersionCode, stats, value); diff --git a/services/gpuservice/GpuService.h b/services/gpuservice/GpuService.h index b3dc2e2..208a627 100644 --- a/services/gpuservice/GpuService.h +++ b/services/gpuservice/GpuService.h
@@ -59,8 +59,6 @@ const std::string& appPackageName, const int32_t vulkanVersion, GpuStatsInfo::Driver driver, bool isDriverLoaded, int64_t driverLoadingTime) override; - status_t getGpuStatsGlobalInfo(std::vector<GpuStatsGlobalInfo>* outStats) const override; - status_t getGpuStatsAppInfo(std::vector<GpuStatsAppInfo>* outStats) const override; void setTargetStats(const std::string& appPackageName, const uint64_t driverVersionCode, const GpuStatsInfo::Stats stats, const uint64_t value) override;
diff --git a/services/gpuservice/gpustats/GpuStats.cpp b/services/gpuservice/gpustats/GpuStats.cpp index 71e6b97..58c6639 100644 --- a/services/gpuservice/gpustats/GpuStats.cpp +++ b/services/gpuservice/gpustats/GpuStats.cpp
@@ -233,34 +233,4 @@ } } -void GpuStats::pullGlobalStats(std::vector<GpuStatsGlobalInfo>* outStats) { - ATRACE_CALL(); - - std::lock_guard<std::mutex> lock(mLock); - outStats->clear(); - outStats->reserve(mGlobalStats.size()); - - interceptSystemDriverStatsLocked(); - - for (const auto& ele : mGlobalStats) { - outStats->emplace_back(ele.second); - } - - mGlobalStats.clear(); -} - -void GpuStats::pullAppStats(std::vector<GpuStatsAppInfo>* outStats) { - ATRACE_CALL(); - - std::lock_guard<std::mutex> lock(mLock); - outStats->clear(); - outStats->reserve(mAppStats.size()); - - for (const auto& ele : mAppStats) { - outStats->emplace_back(ele.second); - } - - mAppStats.clear(); -} - } // namespace android diff --git a/services/gpuservice/gpustats/include/gpustats/GpuStats.h b/services/gpuservice/gpustats/include/gpustats/GpuStats.h index bcb9e0d..bae4f97 100644 --- a/services/gpuservice/gpustats/include/gpustats/GpuStats.h +++ b/services/gpuservice/gpustats/include/gpustats/GpuStats.h
@@ -43,10 +43,6 @@ const GpuStatsInfo::Stats stats, const uint64_t value); // dumpsys interface void dump(const Vector<String16>& args, std::string* result); - // Pull gpu global stats - void pullGlobalStats(std::vector<GpuStatsGlobalInfo>* outStats); - // Pull gpu app stats - void pullAppStats(std::vector<GpuStatsAppInfo>* outStats); // This limits the worst case number of loading times tracked. static const size_t MAX_NUM_LOADING_TIMES = 50;